--
-- Juniper Enterprise Specific MIB: Interface MIB Extension
-- 
-- Copyright (c) 1999-2003, 2007, Juniper Networks, Inc.
-- All rights reserved.
--
-- The contents of this document are subject to change without notice.
--

JUNIPER-IF-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Gauge32, Integer32, Counter64, Counter32
        FROM SNMPv2-SMI
    CounterBasedGauge64
        FROM HCNUM-TC
    ifEntry,ifIndex
        FROM IF-MIB
    TimeStamp
        FROM SNMPv2-TC    
    jnxMibs
        FROM JUNIPER-SMI;

ifJnx MODULE-IDENTITY
    LAST-UPDATED "200307182153Z" -- Fri Jul 18 21:53:51 2003 UTC
    ORGANIZATION "Juniper Networks, Inc."
    CONTACT-INFO
            "        Juniper Technical Assistance Center
                     Juniper Networks, Inc.
                     1194 N. Mathilda Avenue
                     Sunnyvale, CA 94089
                     E-mail: support@juniper.net"

    DESCRIPTION
            "The MIB modules extends the ifTable as
             defined in IF-MIB."     
    REVISION     "200706050000Z"       -- 05 June, 2007
    DESCRIPTION
            "New Time Domain Reflectometery Added" 
    REVISION     "200210310000Z"         -- 31 Oct, 2002
    DESCRIPTION
            "New error counters added to ifJnxTable" 
    REVISION     "200106210000Z"         -- 21 June, 2001
    DESCRIPTION
            "New objects ifHCIn1SecRate and 
             ifHCOut1SecRate added" 
    REVISION     "200103150000Z"         -- 15 March, 2001 
    DESCRIPTION
            "Initial Version"
            
            
    ::= { jnxMibs 3 }




--
-- This table augments ifTable
--
    ifJnxTable      OBJECT-TYPE
        SYNTAX      SEQUENCE OF IfJnxEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "A list of Juniper's extension to the interface entries.
                The number of entries is given by the value of ifNumber.
                This table contains additional objects for the interface
                table."


        ::= { ifJnx 1 }

    ifJnxEntry      OBJECT-TYPE
        SYNTAX      IfJnxEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "An entry containing additional management information
                applicable to a particular interface."
        AUGMENTS    { ifEntry }
        ::= { ifJnxTable 1 }

    IfJnxEntry ::=
        SEQUENCE {
            ifIn1SecRate           Gauge32,
            ifIn1SecOctets         Gauge32,
            ifIn1SecPkts           Gauge32,
            ifOut1SecRate          Gauge32,
            ifOut1SecOctets        Gauge32,
            ifOut1SecPkts          Gauge32,
            ifHCIn1SecRate         CounterBasedGauge64,
            ifHCOut1SecRate        CounterBasedGauge64,
        ifJnxInErrors          Counter64,
        ifJnxInFrameErrors     Counter64,
        ifJnxInQDrops          Counter64,
        ifJnxInRunts           Counter64,
        ifJnxInGiants          Counter64,
        ifJnxInDiscards        Counter64,
        ifJnxInHslCrcErrors    Counter64,
        ifJnxInHslFifoOverFlows Counter64,
        ifJnxInL3Incompletes   Counter64,
        ifJnxInL2ChanErrors    Counter64,
        ifJnxInL2MismatchTimeouts Counter64,
        ifJnxInInvalidVCs      Counter64,
        ifJnxInFifoErrors      Counter32,
        ifJnxBucketDrops       Counter64,
        ifJnxSramErrors        Counter32,
        ifJnxOutErrors         Counter64,
        ifJnxCollisions        Counter64,
        ifJnxCarrierTrans      Counter64,
        ifJnxOutQDrops         Counter64,
        ifJnxOutAgedErrors     Counter64,
        ifJnxOutFifoErrors     Counter32,
        ifJnxOutHslFifoUnderFlows Counter64,
        ifJnxOutHslCrcErrors   Counter32
        }

    ifIn1SecRate OBJECT-TYPE
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The number of bits per second (bps), delivered by 
                this (sub-)layer to its next higher (sub-)layer."
        ::= { ifJnxEntry 1 }

    ifIn1SecOctets OBJECT-TYPE
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The number of octets per second (Bps, Bytes per 
                second), delivered by this (sub-)layer to its next
                higher (sub-)layer."
        ::= { ifJnxEntry 2 }

    ifIn1SecPkts OBJECT-TYPE
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The number of packets per second (pps), delivered
                by this (sub-)layer to its next higher (sub-)layer."
        ::= { ifJnxEntry 3 }

    ifOut1SecRate OBJECT-TYPE
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The number of bits per second (bps), delivered by
                this (sub-)layer to its next lower (sub-)layer."
        ::= { ifJnxEntry 4 }

    ifOut1SecOctets OBJECT-TYPE
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The number of octets per second (Bps, Bytes per
                second), delivered by this (sub-)layer to its next
                lower (sub-)layer."
        ::= { ifJnxEntry 5 }

    ifOut1SecPkts OBJECT-TYPE
        SYNTAX      Gauge32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The number of packets per second (pps), delivered
                by this (sub-)layer to its next lower (sub-)layer."
        ::= { ifJnxEntry 6 }
        
    ifHCIn1SecRate OBJECT-TYPE
        SYNTAX      CounterBasedGauge64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The number of bits per second (bps), delivered by 
                this (sub-)layer to its next higher (sub-)layer.
                This object is a 64 bit version of ifIn1SecRate."
        ::= { ifJnxEntry 7 }

    ifHCOut1SecRate OBJECT-TYPE
        SYNTAX      CounterBasedGauge64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The number of bits per second (bps), delivered by
                this (sub-)layer to its next lower (sub-)layer.
                This object is a 64 bit version of ifOut1SecRate."
        ::= { ifJnxEntry 8 }

    ifJnxInErrors OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Errors: The sum of the incoming frame aborts and FCS errors."
    ::= { ifJnxEntry 9 }

    ifJnxInFrameErrors OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Framing Errors: The number of input packets which were 
                misaligned."
    ::= { ifJnxEntry 10 }

    ifJnxInQDrops OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Drops: The number of packets dropped by the input queue of 
                the I/O Manager ASIC."
    ::= { ifJnxEntry 11 }

    ifJnxInRunts OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Runts: Frames received that are smaller than the runt 
                threshold."
    ::= { ifJnxEntry 12 }

    ifJnxInGiants OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Giants: Frames received that are larger than the giant 
                threshold."
    ::= { ifJnxEntry 13 }

    ifJnxInDiscards OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Policed Discards: Frames that the incoming packet match code 
                discarded because they were not recognized or of interest."
    ::= { ifJnxEntry 14 }

    ifJnxInHslCrcErrors OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "HS Link CRC Errors: The number of CRC errors on the 
                high-speed links between the ASICs responsible for handling 
                the router interfaces while receiving packets."
    ::= { ifJnxEntry 15 }

    ifJnxInHslFifoOverFlows OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "HS link FIFO overflows: The number of FIFO overflows on the
                high-speed links between the ASICs responsible for handling
                the router interfaces."
    ::= { ifJnxEntry 16 }

    ifJnxInL3Incompletes OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "L3 incompletes: The number of incoming packets that fail
                Layer 3 sanity checks of the header."
    ::= { ifJnxEntry 17 }

    ifJnxInL2ChanErrors OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "L2 channel errors: the number of incoming packets for which 
                the sofware could not find a valid logical interface."
    ::= { ifJnxEntry 18 }

    ifJnxInL2MismatchTimeouts OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "L2 mismatch timeouts: The count of malformed or short packets
                that cause the incoming packet handler to discard the frame
                as unreadable."
    ::= { ifJnxEntry 19 }

    ifJnxInInvalidVCs OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Invalid VCs: Number of cells that arrived for a nonexistent
                virtual circuit."
    ::= { ifJnxEntry 20 }

    ifJnxInFifoErrors OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "FIFO errors: The number of FIFO errors in the receive
                direction as reported by the ASIC on the PIC."
    ::= { ifJnxEntry 21 }

    ifJnxBucketDrops OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Bucket drops: Drops due to traffic load exceeding the
                interface transmit/receive leaky bucket configuration."
    ::= { ifJnxEntry 22 }

    ifJnxSramErrors OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "SRAM errors: This counter increments when a hardware error
                has occurred in the SRAM on the PIC."
    ::= { ifJnxEntry 23 }

    ifJnxOutErrors OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Errors: The sum of the outgoing frame aborts and FCS errors."
    ::= { ifJnxEntry 24 }

    ifJnxCollisions OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Collisions: The number of output collisions detected on this
                interface."
    ::= { ifJnxEntry 25 }

    ifJnxCarrierTrans OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Carrier transitions: The number of times the interface saw
                the carrier signal transition."
    ::= { ifJnxEntry 26 }

    ifJnxOutQDrops OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Drops: The number of packets dropped by the output queue of
                the I/O Manager ASIC."
    ::= { ifJnxEntry 27 }

    ifJnxOutAgedErrors OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "Aged packets: The number of packets that remained in shared
                packet SDRAM for so long that the system automatically purged
                them."
    ::= { ifJnxEntry 28 }

    ifJnxOutFifoErrors OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "FIFO errors: The number of FIFO errors in the transmit
                direction as reported by the ASIC on the PIC."
    ::= { ifJnxEntry 29 }

    ifJnxOutHslFifoUnderFlows OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "HS link FIFO underflows: The number of FIFO underflows on the
                high-speed links between the ASICs responsible for handling
                the router interfaces."
    ::= { ifJnxEntry 30 }

    ifJnxOutHslCrcErrors OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "HS Link CRC Errors: The number of CRC errors on the 
                high-speed links between the ASICs responsible for handling 
                the router interfaces while transmitting packets."
    ::= { ifJnxEntry 31 }



--
-- This table augments ifTable to map to Chassis MIB tables
--
    ifChassisTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF IfChassisEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "A list of Juniper's extension to the interface entries.
                The number of entries is given by the value of ifNumber.
                This table contains additional objects for the interface
                table to facilitate the identification of interfaces and
                its mapping into the Chassis MIB tables."


        ::= { ifJnx 2 }

    ifChassisEntry OBJECT-TYPE
        SYNTAX      IfChassisEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "An entry containing additional management information
                applicable to a particular interface."
        AUGMENTS    { ifEntry }
        ::= { ifChassisTable 1 }

    IfChassisEntry ::=
        SEQUENCE {
            ifChassisFpc           Integer32,
            ifChassisPic           Integer32,
            ifChassisPort          Integer32,
            ifChassisChannel       Integer32,
            ifChassisLogicalUnit   Integer32,
            ifChassisPicIndex      OCTET STRING
        }

    ifChassisFpc OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The number of the FPC card on which the interface
                is located in the chassis.  It is the chassis slot 
                in which the FPC card is installed for the specified 
                interface.  

                Although the number is labeled from 0 and up in the 
                chassis, the return value for this object always starts
                from 1 according to Network Management convention.
                Therefore, a value of zero means there is no real or
                physical FPC associated with the specified interface."
        ::= { ifChassisEntry 1 }

    ifChassisPic OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The number of the PIC card on which the interface
                is located in the chassis.  It is the PIC location 
                on the FPC card for the specified interface.

                Although the number is labeled from 0 and up in the 
                chassis, the return value for this object always starts
                from 1 according to Network Management convention.
                Therefore, a value of zero means there is no real or
                physical PIC associated with the specified interface."
        ::= { ifChassisEntry 2 }

    ifChassisPort OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The number of the port on the PIC card on which the 
                interface is located in the chassis.  It is the port 
                number on the PIC card for the specified interface.

                Although the number is labeled from 0 and up in the 
                chassis, the return value for this object always starts
                from 1 according to Network Management convention.
                Therefore, a value of zero means there is no real or
                physical port associated with the specified interface."
        ::= { ifChassisEntry 3 }

    ifChassisChannel OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The channel identifier for the specified interface
                if and only if it is part of a channelized interface.
                
                Although the channel is numbered from 0 and up in the 
                interface naming, the return value for this object 
                always starts from 1 according to Network Management 
                convention.  For the interface which could not be 
                channelized, this object returns zero."
        ::= { ifChassisEntry 4 }


    ifChassisLogicalUnit OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The logical unit number of the specified interface.
                It is the logical part of the interface that is 
                configured on the physical or channel part if any.

                Although the logical unit number is numbered from 0 and
                up in the interface naming, the return value for this 
                object always starts from 1 according to Network 
                Management convention.  For the interface which is 
                really a physical device, this value returns zero."
        ::= { ifChassisEntry 5 }

    ifChassisPicIndex OBJECT-TYPE
        SYNTAX      OCTET STRING
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
                "The index or indices for the Chassis MIB tables.
                This is the instance index which keys into the 
                jnxContentsTable in Chassis MIB.

                For example, it could return an octet string of
                '8.1.2.0' - meaning a PIC ('8', first digit) 
                at FPC slot 0 ('1-1', second digit minus one if nonzero)
                PIC number 1 ('2-1', third digit minus one if nonzero)
                port number whatever (fourth digit currently unused)
                - which in turn could be plugged in by NMS directly
                after any MIB objects in the jnxContentsTable, say
                'jnxContentsDescr.8.1.2.0', so NMS could get that
                PIC object for the specified interface.

                This object is valid only for those interfaces having 
                real and physical PIC cards.  Otherwise, it returns 
                an octet string of four zeros '0.0.0.0.'"
        ::= { ifChassisEntry 6 }
      

END